package org.zlpt.entity.bo;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hyperledger.fabric.contract.annotation.Property;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Map;

/**
 * <p>
 * 合同条目(基本同模板条目一致)
 * </p>
 * 这个类是不需要存入到数据库中，它是作为Contract的表的contract_entries字段进行存储的
 * @author ChenZhihao
 * @since 2023-04-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class ContractEntry implements Serializable {

    private static final long serialVersionUID = 1L;

    // 合同条目id
	@Property
    private Long contractEntryId;

    // 所用模板条目id
	@Property
    private Long entryTemplateId;

    // 所属合同id
	@Property
    private Long contractId;

    // 条目内容
	@Property
    private Map<String, Object> entryData;

    // 创建人id
	@Property
    private Long createBy;

    // 创建时间
	@Property
    private LocalDateTime createTime;

    // 子条款
	@Property
    private ContractEntryList childEntries;
}
